const OpenAI = require("openai");
const fs = require("fs")

const client = new OpenAI({
  apiKey: 'sk-bYsYFXRtEd2qivg6A72uNihNHsf1OazhVFce1Z9Ruq3Ql2IM', // 在这里将 MOONSHOT_API_KEY 替换为你从 Kimi 开放平台申请的 API Key
  baseURL: 'https://api.moonshot.cn/v1',
});

// 对文件进行问答
// 简历优化AI，用于简历优化，获取优化后的简历
async function resumeOptimizeAI(resumeFile) {
  console.log('resumeOptimizeAI');
  console.log(resumeFile);
  // moonshot.pdf 是一个示例文件, 我们支持 pdf, doc 以及图片等格式, 对于图片和 pdf 文件，提供 ocr 相关能力
  const file_object = await client.files.create({
    file: fs.createReadStream('public/pdf/罗雨- owner.pdf'),
    purpose: 'file-extract',
  });
  // 获取结果
  // file_content = client.files.retrieve_content(file_id=file_object.id)
  // 注意，之前 retrieve_content api 在最新版本标记了 warning, 可以用下面这行代替
  // 如果是旧版本，可以用 retrieve_content
  const file_content = await (
    await client.files.content(file_object.id)
  ).text();
  console.log(file_content);

  // 把它放进请求中
  const messages = [
    {
      role: 'system',
      content:
        '你是一个简历优化助手，你会为用户提供有帮助，准确的简历优化建议。同时，你是计算机领域的简历分析专家',
    },
    {
      role: 'system',
      content: file_content,
    },
    { role: 'user', content: '帮我分析简历，同时修改完成后用markdown格式返回一份最新简历' },
  ];

  const completion = await client.chat.completions.create({
    model: 'moonshot-v1-32k',
    messages,
    temperature: 0.3,
  });
  console.log(completion.choices[0].message.content);

  fs.writeFileSync("./hh.md",completion.choices[0].message.content)
}

resumeOptimizeAI('kk')
